home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_pas / mkscren2 / screenxx.ovl < prev    next >
Text File  |  1987-12-08  |  4KB  |  150 lines

  1. overlay procedure screenXX; {<<<}
  2. const
  3.  total_fields = 10;
  4. label
  5.  repaint;
  6. var
  7.  lun       : _textfile;
  8.  field_no  : integer;
  9.  xf,yf     : array [1..total_fields] of integer;
  10.  done      : boolean;
  11.  Var1      : string[ 4];
  12.  Var2      : string[11];
  13.  Var3      : string[12];
  14.  Var4      : string[ 4];
  15.  FieldTag1 : string[11];
  16.  FieldTag2 : string[12];
  17.  FieldTag3 : string[ 5];
  18.  AAAA      : string[ 5];
  19.  CCCC      : string[ 5];
  20.  Name      : string[33];
  21. begin
  22. cursor_on;
  23. gotoxy(1,5);Clreos;
  24. with header do begin                       {vvv}
  25. if exist(work_drive+'@'+a.operation_no+'TXT.xxx') then begin
  26. assign(lun,work_drive+'@'+a.operation_no+'TXT.xxx');
  27. reset(lun);
  28. readln(lun,Var1);readln(lun,Var2);readln(lun,Var3);
  29. readln(lun,Var4);readln(lun,FieldTag1);readln(lun,FieldTag2);
  30. readln(lun,FieldTag3);readln(lun,AAAA);readln(lun,CCCC);
  31. readln(lun,Name);close(lun);
  32. end else begin
  33.  Var1      := '';
  34.  Var2      := '';
  35.  Var3      := '';
  36.  Var4      := '';
  37.  FieldTag1 := '';
  38.  FieldTag2 := '';
  39.  FieldTag3 := '';
  40.  AAAA      := '';
  41.  CCCC      := '';
  42.  Name      := '';
  43. end;
  44. field_no := 1;
  45. repaint:
  46. gotoxy( 1, 4);write('Section Header 1');
  47. draw_field( 7, 5,xf[ 1],yf[ 1],'Label1:',Var1,0, 4);
  48. draw_field(26, 5,xf[ 2],yf[ 2],'Label2:',Var2,0,11);
  49. draw_field(53, 5,xf[ 3],yf[ 3],'Label3:',Var3,0,12);
  50. gotoxy( 1, 7);write('Section Header 1');
  51. draw_field( 7, 8,xf[ 4],yf[ 4],'Label1:',Var4,0, 4);
  52. draw_field(26, 8,xf[ 5],yf[ 5],'Label2:',FieldTag1,0,11);
  53. draw_field(53, 8,xf[ 6],yf[ 6],'Label3:',FieldTag2,0,12);
  54. gotoxy( 1,11);write('Section Header 2');
  55. draw_field(22,13,xf[ 7],yf[ 7],'Aaaa:',FieldTag3,0, 5);
  56. draw_field(34,13,xf[ 8],yf[ 8],'Bbbb:',AAAA,0, 5);
  57. draw_field(46,13,xf[ 9],yf[ 9],'Cccc:',CCCC,0, 5);
  58. draw_field( 1,15,xf[10],yf[10],'xxxx:',Name,0,33);
  59. repeat
  60. Case field_no of
  61.  1 : begin
  62.      done := false;
  63.      repeat
  64.       get_field(Var1, 4,xf[ 1],yf[ 1],term,answer,0);
  65.       done := integer_check(Var1,'N','N','0', 4);
  66.      until done;
  67.      end;
  68.  2 : begin
  69.      done := false;
  70.      repeat
  71.       get_field(Var2,11,xf[ 2],yf[ 2],term,answer,0);
  72.       done := list_check(Var2,'YES,NO,MAYBE','N','Y','N',' ',11);
  73.      until done;
  74.      end;
  75.  3 : begin
  76.      done := false;
  77.      repeat
  78.       get_field(Var3,12,xf[ 3],yf[ 3],term,answer,0);
  79.       done := real_check(Var3,'N','N','0',12);
  80.      until done;
  81.      end;
  82.  4 : begin
  83.      done := false;
  84.      repeat
  85.       get_field(Var4, 4,xf[ 4],yf[ 4],term,answer,0);
  86.       done := string_check(Var4,'Y','N',' ', 4);
  87.      until done;
  88.      end;
  89.  5 : begin
  90.      done := false;
  91.      repeat
  92.       get_field(FieldTag1,11,xf[ 5],yf[ 5],term,answer,0);
  93.       done := integer_check(FieldTag1,'N','N','0',11);
  94.      until done;
  95.      end;
  96.  6 : begin
  97.      done := false;
  98.      repeat
  99.       get_field(FieldTag2,12,xf[ 6],yf[ 6],term,answer,0);
  100.       done := real_check(FieldTag2,'N','N','0',12);
  101.      until done;
  102.      end;
  103.  7 : begin
  104.      done := false;
  105.      repeat
  106.       get_field(FieldTag3, 5,xf[ 7],yf[ 7],term,answer,0);
  107.       done := string_check(FieldTag3,'Y','N',' ', 5);
  108.      until done;
  109.      end;
  110.  8 : begin
  111.      done := false;
  112.      repeat
  113.       get_field(AAAA, 5,xf[ 8],yf[ 8],term,answer,0);
  114.       done := string_check(AAAA,'Y','N',' ', 5);
  115.      until done;
  116.      end;
  117.  9 : begin
  118.      done := false;
  119.      repeat
  120.       get_field(CCCC, 5,xf[ 9],yf[ 9],term,answer,0);
  121.       done := string_check(CCCC,'Y','N',' ', 5);
  122.      until done;
  123.      end;
  124. 10 : begin
  125.      done := false;
  126.      repeat
  127.       get_field(Name,33,xf[10],yf[10],term,answer,0);
  128.       done := string_check(Name,'Y','N',' ',33);
  129.      until done;
  130.      end;
  131. end;
  132. case answer of
  133.  ^I,^M,^X : if (field_no = total_fields) then field_no := 1 else field_no := field_no + 1;
  134.  ^E : if field_no = 1 then field_no := total_fields else field_no := field_no - 1;
  135.  ^T : field_no := 1;
  136.  ^B : field_no := total_fields;
  137. end;
  138. until (answer = ^M) and (field_no=1) or (answer = #27);
  139. if (answer <> #27) then begin                {vvv}
  140. assign(lun,work_drive+'@'+a.operation_no+'TXT.xxx');
  141. rewrite(lun);
  142. writeln(lun,Var1);writeln(lun,Var2);writeln(lun,Var3);
  143. writeln(lun,Var4);writeln(lun,FieldTag1);writeln(lun,FieldTag2);
  144. writeln(lun,FieldTag3);writeln(lun,AAAA);writeln(lun,CCCC);
  145. writeln(lun,Name);close(lun);
  146. end;
  147. end;
  148. cursor_off;
  149. end;
  150.